Оптимизация одного из ключевых запросов к БД
Добрый день!
Сегодня получили письмо от службы поддержки со следующим содержанием
Как я понимаю это один из ключевых запросов, поскольку он выполняется к таблицам prefix_topic prefix_topic_content и если я не ошибаюсь, то его основная задача — поиск топиков.
Подскажите что можно здесь сделать? Кто сталкивался с похожей проблемой?
У нас заблокировали пользователя БД из-за этого!!!
Сегодня получили письмо от службы поддержки со следующим содержанием
Доброго времени суток!
Вот этот запрос перегружает базу.
SELECT SQL_CALC_FOUND_ROWS DISTINCT t.topic_id, CASE WHEN (LOWER(t.topic_title) REGEXP '[[:<:]]plazan[[:>:]]') THEN 1 ELSE 0 END + CASE WHEN (LOWER(tc.topic_text_source) REGEXP '[[:<:]]plazan[[:>:]]') THEN 1 ELSE 0 END AS weight FROM prefix_topic AS t LEFT JOIN prefix_topic_content AS tc ON tc.topic_id=t.topic_id WHERE (topic_publish=1) AND ((LOWER(t.topic_title) REGEXP '[[:<:]]plazan[[:>:]]') OR (LOWER(t.topic_title) REGEXP '[[:<:]]plazan[[:>:]]') OR (LOWER(tc.topic_text_source) REGEXP '[[:<:]]plazan[[:>:]]') OR (LOWER(tc.topic_text_source) REGEXP '[[:<:]]plazan[[:>:]]') ) ORDER BY weight DESC, t.topic_id ASC LIMIT 0, 20
Сделаете с ним, пожалуйста, что-нибудь.--
Как я понимаю это один из ключевых запросов, поскольку он выполняется к таблицам prefix_topic prefix_topic_content и если я не ошибаюсь, то его основная задача — поиск топиков.
Подскажите что можно здесь сделать? Кто сталкивался с похожей проблемой?
У нас заблокировали пользователя БД из-за этого!!!